public interface TaskService {

  TaskDefinition getTaskDefinition(Long id)
      throws BusinessException;

  List<InputType> listInputTypes();

  List<OutputType> listOutputTypes();

  List<TaskDefinition> listTaskDefinitions()
      throws BusinessException;

  void runTaskInstance(TaskInstance taskInstance)
      throws ValidationException;

  void saveTaskDefinition(TaskDefinition taskDefinition)
      throws BusinessException;
}
